﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace PuanSunucusu
{
    public partial class frmPuanSilme : XtraForm
    {
        public frmPuanSilme()
        {
            InitializeComponent();
        }

        private void frmPuanSilme_Load(object sender, EventArgs e)
        {
            dteBaslangic.DateTime = DateTime.Now;
            dteBitis.DateTime = DateTime.Now;
        }

        private void simpleButton1_Click(object sender, EventArgs e)
        {
            using (PromoEntities ent = new PromoEntities())
            {
                DateTime bas = new DateTime(dteBaslangic.DateTime.Year, dteBaslangic.DateTime.Month, dteBaslangic.DateTime.Day, 0, 0, 0);
                DateTime bit = new DateTime(dteBitis.DateTime.Year, dteBitis.DateTime.Month, dteBitis.DateTime.Day, 23, 59, 59);

                var liste = ent.PuanHareketleri.Where(x => x.Tarih >= bas && x.Tarih <= bit).ToList();
                foreach (var item in liste.GroupBy(x => x.Cari_Kod).Select(x => x.Key))
                {
                    BonusPuan puan = ent.BonusPuanlar.Where(x => x.Cari_Kod == item).FirstOrDefault();
                    if (puan != null)
                    {
                        puan.Puan -= liste.Where(x => x.Cari_Kod == item).Select(x => x.Puan).Sum();
                        ent.SaveChanges();
                        foreach (var ph in liste.Where(x => x.Cari_Kod == item))
                        {
                            ent.DeleteObject(ph);
                        }
                        ent.SaveChanges();
                    }
                }
            }

            MessageBox.Show("Tamamlandı !");
        }
    }
}
